#ifndef _IRQ_H_
#define _IRQ_H_

#include <types.h>

class IRQ {
public:
	static void Init();
	static void Enable(dword n = 0xFFFFFFFF, bool slave = false);
	static void Disable(dword n = 0xFFFFFFFF, bool slave = false);
	static CPUContext *Exec(CPUContext *ctx);
	static void Register(dword n, dword addr);
	static void Unregister(dword n);
	static void Update();

private:
	static dword Handlers[16];
	static word Mask;
};

#endif
